package com.zhaorui.controller;

import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhaorui.aop.Annotation2;
import com.zhaorui.entity.GzTfJh;
import com.zhaorui.entity.ZR;
import com.zhaorui.form.JhQueryForm;
import com.zhaorui.mapper.GzTfJhMapper;
import com.zhaorui.service.GzTfJhService;
import com.zhaorui.vo.PageVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;

@RestController
@RequestMapping("zhSearch")
@Slf4j
@CrossOrigin
@Api(tags = "MES看板管理")

public class ZhSearchController {
    @Autowired
    private GzTfJhService gzTfJhService;
    @Autowired
    private RedisTemplate redisTemplate;

    // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1（杭州）为例，Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
    @Value("${OSS.endpoint}")
    String endpoint;
    // 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
    @Value("${OSS.accessKeyId}")
    String accessKeyId;
    @Value("${OSS.accessKeySecret}")
    String accessKeySecret;
    // 填写Bucket名称，例如examplebucket。
    @Value("${OSS.bucketName}")
    String bucketName;


    //所有订单查询
    @GetMapping("/queryZhSearche")
    @ApiOperation("所有订单看板")
    @Annotation2(tableName = "zhSearche", optionName = "查询")
    public ZR queryEmps(JhQueryForm jhQueryForm) {
        log.info ("综合查询:{}", jhQueryForm);
        GzTfJh gzTfJh=new GzTfJh();
        //复制vo对象接收的参数到DTO对象中
        BeanUtil.copyProperties (jhQueryForm, gzTfJh);
        List<HashMap> mapList = gzTfJhService.queryZhSearche (gzTfJh);
        return new ZR (1000, "查询成功", mapList);
    }

    //当日订单查询
    @GetMapping("/queryDaySearche")
    @ApiOperation("当日订单看板")
    @Annotation2(tableName = "queryDaySearche", optionName = "查询")
    public ZR queryDaySearche(JhQueryForm jhQueryForm) {
        log.info ("当日订单查询:{}", jhQueryForm);
        GzTfJh gzTfJh=new GzTfJh();
        //复制vo对象接收的参数到DTO对象中
        BeanUtil.copyProperties (jhQueryForm, gzTfJh);
        List<HashMap> mapList = gzTfJhService.queryDaySearche (gzTfJh);
        return new ZR (1000, "查询成功", mapList);
    }

}
